#!/bin/bash


#npm install yarn -g
yarn config set registry https://registry.npmmirror.com

yarn install --ignore-scripts &&
#yarn install &&

TIMESTAMP=$(date +"%Y%m%d%H%M%S")
VERSION_STRING="v${TIMESTAMP}"
echo "生成的字符串: ${VERSION_STRING}"

npm run update-oss-version -- --type=production.plat --version=${VERSION_STRING} &&

npm run build:prod.plat &&

node ./script/ossUpload -- --version=${VERSION_STRING} &&

rm -rf ./dist/static

zip -r dist.zip dist



#构建后操作

# 定义路径变量
DIST_DIR="/opt/iot-platform-server/plat-front-oss/dist/"
STATIC_DIR="/opt/iot-platform-server/static-holder"
ZIP_FILE="${STATIC_DIR}/dist.zip"
PLAT_FRONT_OSS_DIR="/opt/iot-platform-server/plat-front-oss"

# 检查 dist.zip 文件是否存在
if [ ! -f "${ZIP_FILE}" ]; then
    echo "错误：文件 ${ZIP_FILE} 不存在，脚本将退出。"
    exit 1
fi

# 获取当前时间戳，格式为 yyyyMMddHHmmss
TIMESTAMP=$(date +"%Y%m%d%H%M%S")

# 检查 dist 文件夹是否存在
if [ -d "${DIST_DIR}" ]; then
    echo "删除已存在的文件夹: ${DIST_DIR}"
    rm -rf "${DIST_DIR}"
    echo "文件夹已删除。"
else
    echo "文件夹 ${DIST_DIR} 不存在，无需删除。"
fi

# 确保目标目录存在
if [ ! -d "${PLAT_FRONT_OSS_DIR}" ]; then
    echo "创建目标目录: ${PLAT_FRONT_OSS_DIR}"
    mkdir -p "${PLAT_FRONT_OSS_DIR}"
fi

# 解压 dist.zip 文件到目标目录
echo "解压文件 ${ZIP_FILE} 到 ${PLAT_FRONT_OSS_DIR}"
unzip -o "${ZIP_FILE}" -d "${PLAT_FRONT_OSS_DIR}"
echo "解压完成。"

# 重命名 dist.zip 为 dist_v[时间戳].zip
BACKUP_ZIP="${STATIC_DIR}/dist_v${TIMESTAMP}.zip"
echo "将 ${ZIP_FILE} 重命名为 ${BACKUP_ZIP} 用于备份"
mv "${ZIP_FILE}" "${BACKUP_ZIP}"
echo "备份文件已重命名。"

echo "脚本执行完成。"